System for Continuous-Time Optimization with Pre-Defined Finite-Time Convergence

ABSTRACT

A controller for controlling a system is provided. The controller performs measuring variables via an interface to generate a vector of variables, providing a cost function, with respect to the system, based on the vector variables using weighting factors, wherein the vector variables are represented by a time-step, computing first-derivative of the cost function at an initial time-step, obtaining a convergence time from the first-derivative of the cost function, computing second derivative of the cost function and generating an optimization differential equation based on the first and second derivatives of the cost function, proceeding, starting with the initial time-step, to obtain a value of the optimization differential equation by solving the optimization differential equation, in an iteration manner, with a predetermined time step being multiplied with the value of the solved differential equation to obtain next vector variables corresponding to a next iteration time-step, until the time-step reaches the convergence time, and outputting optimal values of the vector of variables and the cost function.

FIELD OF THE INVENTION

The present invention relates generally to a system for optimization algorithms, more specifically, it relates to a system and method for optimization algorithms designed based on dynamical systems theory.

BACKGROUND OF THE INVENTION

Optimization algorithms are needed in many real-life applications, from elevator scheduling applications to robotics and artificial intelligence applications. Hence, there is always a need for faster and more reliable optimization algorithms. One way to accelerate these optimization algorithms is to design them such that they achieve convergence to an optimum in a desired finite time. This is one of the goals of this invention.

SUMMARY OF THE INVENTION

Some embodiments of the present invention provide some ideas from Lyapunov-based finite-time state control, to design a new family of discontinuous flows, which ensure a desired finite-time convergence to the invariant set containing a unique local optima. Furthermore, due to the discontinuous nature of the proposed flows, we propose to extend one of the existing Lyapunov-based inequality condition for finite-time convergence of continuous-time dynamical systems, to the case of differential inclusions. Some embodiments of the present invention provides a robustification of these flows with respect to bounded additive uncertainties. We propose an extension to the case of time-varying cost functions. Finally, we extend part of the results to the case of constrained optimization, by using some recent results from barrier Lyapunov functions control theory.

Some embodiments of the present invention are based on recognition that a controller for controlling a system collects/measures a set of variables to determine the set of vector variables. A cost function may be determined using vector variables and some weighting factors. The vector variables can be represented as a function of a time-step. The cost function further goes under two-order derivative flows for obtaining an optimization differential equation, where the optimization differential equation is solved in an iterative fashion until a convergence time is reached.

According to some embodiments of the present invention, a controller for controlling a system is provided. The controller includes an interface configured to receive measurement signals from sensor units and output control signals to the system to be controlled; a memory to store computer-executable algorithms including variable measuring algorithm, cost function equations, ordinary differential equation (ODE) and ordinary differential inclusion (ODI) solving algorithms and Optimal variables' values output algorithm; a processor, in connection with the memory, configured to perform steps of receiving measuring variables via the interface to generate a vector of variables; providing a cost function equation, with respect to the system, based on the vector variables using weighting factors, wherein the vector variables are represented by a time-step; computing first-derivative of the cost function at an initial time-step; obtaining a convergence time from the first-derivative of the cost function; computing second derivative of the cost function and generating an optimization differential equation based on the first and second derivatives of the cost function; proceeding, starting with the initial time-step, to obtain a value of the optimization differential equation or differential inclusion by solving the optimization differential equation or the differential inclusion, in an iteration manner, with a predetermined time step being multiplied with the value of the solved differential equation to obtain next vector variables corresponding to a next iteration time-step, until the time-step reaches the convergence time; and outputting optimal values of the vector of variables and the cost function.

Further, some embodiments of the present invention are based on recognition that a computer-implemented method for controlling a system includes measuring variables via an interface to generate a vector of variables; providing a cost function, with respect to the system, based on the vector variables using weighting factors, wherein the vector variables are represented by a time-step; computing first-derivative of the cost function at an initial time-step; obtaining a convergence time from the first-derivative of the cost function; computing second derivative of the cost function and generating an optimization differential equation based on the first and second derivatives of the cost function; proceeding, starting with the initial time-step, to obtain a value of the optimization differential equation or differential inclusion by solving the optimization differential equation or the differential inclusion, in an iteration manner, with a predetermined time step being multiplied with the value of the solved differential equation to obtain next vector variables corresponding to a next iteration time-step, until the time-step reaches the convergence time; and outputting optimal values of the vector of variables and the cost function.

According to the present invention, it becomes possible to compute exact conversion times for real-time applications, which provide simple implementations with compact computation programs. This allows a controller/system to solve time-varying cost functions, and can realize robust system controllers/computer-implemented control method. Further, the system controllers/computer-implemented control method can reduce the computation load resulting low-power computation, and make systems possible to realize the real-time control.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are included to provide a further understanding of the invention, illustrate embodiments of the invention and together with the description serve to explain the principle of the invention.

FIG. 1 is a schematic diagram illustrating a system for optimizing a cost function according to embodiments of the present invention;

FIG. 2 is a schematic diagram illustrating a system for optimizing a cost function according to embodiments of the present invention, using a proposed optimization ODE;

FIG. 3 is a schematic diagram illustrating a system for optimizing a cost function according to embodiments of the present invention, using a proposed optimization ODE;

FIG. 4 is a schematic diagram illustrating a system for optimizing a cost function according to embodiments of the present invention, using a proposed optimization ODE;

FIG. 5 is a schematic diagram illustrating a system for optimizing a cost function according to embodiments of the present invention, using a proposed optimization ODE;

FIG. 6 is a schematic diagram illustrating a system for optimizing a cost function according to embodiments of the present invention, using an ODE or ODI discretization;

FIG. 7 is a schematic diagram illustrating a system for optimizing a constrained cost function according to embodiments of the present invention;

FIG. 8 is a schematic diagram illustrating the finite-time convergence of the proposed algorithms on a static optimization testcase, from different initial conditions;

FIG. 9 is a schematic diagram illustrating the finite-time convergence of the proposed algorithms on a time-varying optimization testcase, from different initial conditions;

FIG. 10 is a schematic diagram illustrating a system for optimizing a cost function according to embodiments of the present invention, using numerical differentiation;

FIG. 11 is a schematic diagram illustrating a system for optimizing a cost function according to embodiments of the present invention, using filters; and

FIG. 12 is a schematic diagram illustrating a system for optimizing a cost function according to embodiments of the present invention, using dither signals;

Throughout the drawings and the detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same or like elements, features, and structures. The relative size and depiction of these elements may be exaggerated for clarity, illustration, and convenience.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Various embodiments of the present invention are described hereafter with reference to the figures. It would be noted that the figures are not drawn to scale elements of similar structures or functions are represented by like reference numerals throughout the figures. It should be also noted that the figures are only intended to facilitate the description of specific embodiments of the invention. They are not intended as an exhaustive description of the invention or as a limitation on the scope of the invention. In addition, an aspect described in conjunction with a particular embodiment of the invention is not necessarily limited to that embodiment and can be practiced in any other embodiments of the invention.

FIG. 1 is a schematic diagram illustrating a controller (control system) 100 for controlling a system. The controller 100 includes a processor 110, an interface (I/F) 130 configured to receive signals from sensor units 150 and output commands or signals to a system 140 to be controlled by the controller 100. The I/F 130 is configured to communicate with computers 170 via a network 160 for transmitting states of the controller 100 and the systems 140 and receiving requests, commands, or programs to be used in the controller 100.

The I/F 130 is also configured to receive signals or data from the sensor units 150. The sensor units 150 may include imaging devices, sound detectors, optical sensors, electrical signal measurement detectors for measuring signals of amplifiers (power amplifiers), positioning sensors

For instance, the system 140 may be Heating, Ventilation, and Air Conditioning (HVAC) system operating actuators/fans for controlling temperatures in rooms in a building/house. The controller 100 also includes a memory (storage) 120, in connection with the memory 120, storing computer-executable algorithms including variable measuring algorithm 121 that is configured to convert the signals (measurement data) from the sensor units 150 into a variable vector with respect to the system 140 to be controlled by the controller 100, e.g. actuators of an HVAC system, manipulators of a robotic system, or measurement signals of a power amplifier system. Further, the computer-executable algorithms in the memory 120 include cost function ƒ(x) equations 122 for optimizing cost function ƒ(x), where ƒ represents the cost function and x the variables of the cost function, also called optimization variables to be stored in the memory (storage) 120.

The sensor units 150 are arranged to control the system 140 and configured to transmit signals to the controller 100 in which the signals are used by the variable measuring algorithm to output the optimization variables x. These variables are used to compute a value for the cost function ƒ122 corresponding to the variables. In some cases, the variable measuring algorithm may select an appropriate cost function equation from the cost function equations 122 that corresponds to the signals transmitted to the sensor units 150 with respect to the system 140. Further, in some cases, a predetermined cost function may be stored for a predetermined system 140.

The memory 120 also includes gradient/Hassian computation algorithm 123 and optimization ordinary differential equation (ODE) or ordinary differential inclusion (ODI) solving algorithm 124 is then solved result (data) is stored in 124 to obtain the optimal values of the optimization variables 125 to be stored in the memory 120.

In some cases, the controller 100 may be remotely controlled from the computer(s) 170 via the network 160 by receiving control commands from the computer(s) 170.

In this previous description the main and novel part is the ODE or ODI part which when solved in time leads to the optimal values of the optimization variables in a desired finite-time.

We present now how can we design such ODE or ODI using control theory and dynamical systems theory. Consider some objective cost function ƒ:R^(n)→R that we wish to minimize. In particular, let x^(å)∈R^(n) be an arbitrary local minimum of ƒ that is unknown to us. In continuous-time optimization, we typically proceed by designing a nonlinear state-space dynamical system {dot over (x)}=F(x) (1) or a time-varying one replacing F(x) with F(t,x), for which F(x) can be computed without explicit knowledge of x^(å) and for which (1) is certifiably asymptotically stable at x^(å). Ideally, computing F(x) should be possible using only up to second-order information on ƒ.

In this work, however, we seek dynamical systems for which (1) is certifiably finite-time stable at x^(å). As will be clear later, such systems need to be possibly discontinuous or non-Lipschitz, based on differential inclusions ODIs instead of ODEs. Our approach to achieve this objective is largely based on exploiting the Lyapunov-like differential inequality

{dot over (Ε)}(t)≤−cΕ(t)⁶⁰ , a.e.t≥0,  (2)

with constants c>0 and α<1 , for absolutely continuous functions Ε such that Ε(0)>0. Indeed, under the aforementioned conditions, Ε(t)→0 will be reached in finite time

$\left. t\rightarrow{t^{å} \leq \frac{{E(0)}^{1 - \alpha}}{c\left( {1 - \alpha} \right)} < {\infty.}} \right.$

We will therefore achieve (local and strong) finite-time stability, and thus finite-time convergence.

A Family of Finite-Time Stable, Second-Order Optimization ODEs/ODIs

We now propose a family of second-order optimization methods with finite-time convergence constructed using two gradient-based Lyapunov functions, namely E=V(x)=∥∇ƒ(x)∥² and E=V(x)=∥∇ƒ(X)∥₁. First, we need to assume sufficient smoothness on the cost function. Assumption 1 ƒ:R^(n)→R is twice continuously differentiable and strongly convex in an open neighborhood D ⊆R^(n) of a stationary point x^(å)∈R^(n).

Since ∇V(x)=2∇²ƒ(x)∇(x) for V(x)=∥∇ƒ(x)∥² and ∇V(x)=∇²ƒ(x)sign(∇ƒ(x)) a.e. for V(x)=∥∇ƒ(x)∥₁, we can readily design Filippov differential inclusions that are finite-time stable at x^(å). In particular, we may design such differential inclusions to achieve an exact and prescribed finite settling time, at the trade-off of requiring second-order information on ƒ.

Let c>0, p ∈[1,2], and. Under Assumption 1, any maximal Filippov solution to the discontinuous second-order g r ∈R eneralized Newton-like optimization ODE 220

$\begin{matrix} {\overset{.}{x} = {{- c}{{\nabla{f(x)}}}^{p}\frac{\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack^{r}{\nabla{f(x)}}}{{\nabla{{f(x)}^{T}\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack}^{r + 1}}{\nabla{f(x)}}}}} & (3) \end{matrix}$

and optimization ODI 320

$\begin{matrix} {\overset{.}{x} = {{- c}{{\nabla{f(x)}}}_{1}^{p - 1}\frac{\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack^{r}\mspace{14mu}{sign}\mspace{14mu}\left( {\nabla{f(x)}} \right)}{{sign}\mspace{14mu}{\left( {\nabla{f(x)}} \right)^{T}\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack}^{r + 1}\mspace{14mu}{sign}\mspace{14mu}\left( {\nabla{f(x)}} \right)}}} & (4) \end{matrix}$

(where x₀=x(0)) will converge in finite time to x^(å). Furthermore, their convergence times are given exactly by

$\begin{matrix} {{t^{*} = \frac{{{\nabla{f({x0})}}}^{2 - p}}{c\left( {2 - p} \right)}},\;{{{or}\mspace{14mu} t^{*}} = \frac{{{{\nabla{f({x0})}}}_{1}}^{p}}{cp}},} & (5) \end{matrix}$

for (3)-(4), respectively, where x₀=x(0). In particular, given any compact and positively invariant subset S ⊂D, both flows converge in finite with the aforementioned settling time upper bounds (which can be tightened by replacing D with S) for any x₀∈S. Furthermore, if D=R^(n), then we have global finite-time convergnece, i.e. finite-time convergence to any maximal Filippov solution x(•) with arbitrary x₀=X(0) ∈R^(n).

To explain the previous mathematical statement in words, we can say that in one embodiment we propose the optimization ODE given by equation 220

$\begin{matrix} {\overset{.}{x} = {{- c}{{\nabla{f(x)}}}^{p}\frac{\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack^{r}{\nabla{f(x)}}}{{\nabla{{f(x)}^{T}\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack}^{r + 1}}{\nabla{f(x)}}}}} & \; \end{matrix}$

c>0, p ∈R, [1,2], and r ∈R, which will converge to the optimum in a finite time

$t^{*} = {\frac{{{\nabla{f({x0})}}}^{2 - p}}{c\left( {2 - p} \right)}.}$

In another embodiment we propose the ODI 320

${\overset{.}{x} = {{- c}{{\nabla{f(x)}}}_{1}^{p - 1}\frac{\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack^{r}\mspace{14mu}{sign}\mspace{14mu}\left( {\nabla{f(x)}} \right)}{{sign}\mspace{14mu}{\left( {\nabla{f(x)}} \right)^{T}\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack}^{r + 1}\mspace{14mu}{sign}\mspace{14mu}\left( {\nabla{f(x)}} \right)}}}\mspace{11mu}$

c>0, p ε[1,2], and r εR, which will converge to the optimum in a finite time

$t^{*} = {\frac{{{{\nabla{f({x0})}}}_{1}}^{p}}{cp}.}$

This invention can be applied to many systems (controllers). For instance, vectors used in the following example systems can be obtained by the variable measuring algorithm 121 by receiving signals/data from the sensor units 150 arranged with respect to the system 140 via the I/F 130 or via the network 160.

For example, we can consider a robotics application where we want to control a robotic arm manipulator end effector to move from one initial position to another final position, with a desired initial velocity and a desired final velocity. Then, in this case the cost function ƒ(x) can we written as

ƒ(x)=(effector_(x)(θ)−x*)²+(effector_(y)(θ)−y*)²+(Veffector_(x)({dot over (θ)})−Vx*)²+(Veffector_(y)({dot over (θ)})−Vy*)²,

Where x is defined as

x=(θ,{dot over (θ)})^(T),

Where θ∈R^(n) represents the vector of the robot manipulator arm articulation angles, and {dot over (θ)}∈R^(n) represents the vector of the robot manipulator arm articulation angular velocities. effector_(x)(θ), effector_(y)(θ) represent the x-y position of the robotic arm end effector in a planar work frame, and are defined as function of the vector of the robot manipulator arm articulation angles θ∈R^(n), as (effector_(x)(θ),effector_(y)(θ))=forward_geometric (θ),

Where forward geometric represents the forward kinematic model of the robotic manipulator arm. Veffector_(x)({dot over (θ)}),Veffector_(y)({dot over (θ)}) represent the Vx-Vy velocity of the robotic arm end effector in a planar work frame, and are defined as function of the vector of the robot manipulator arm articulation angular velocities {dot over (θ)}∈R^(n), as (Veffector_(x)({dot over (θ)}),Veffector_(y)({dot over (θ)}))=forward_kinematic ({dot over (θ)}),

Where forward_kinematic represents the forward kinematic model of the robotic manipulator arm. Finally, x*, y* represent the desired x-y position of the robotic arm end effector in a planar work frame, and Vx*, Vy* represent the desired Vx-Vy velocity of the robotic arm end effector in a planar work frame.

We can then use the optimization algorithm given by equation 220 or given by ODI 320 to find the series of points x(t)=(θ(t), {dot over (θ)}(t)^(T)at successive time instants t from a given initial angular configuration of the robotic manipulator arm x(0)=(θ(0), {dot over (θ)}(0))^(T) to the desired optimal configuration of the robotic manipulator arm x(t*)=x^(å)=(θ(t*), {dot over (θ)}(t*))^(T). These series of points are then send to the local low level joint PID controllers that regulate the robot manipulator arm to the successive series of points, leading the robot manipulator arm end effector from a given initial position to the desired final position.

For example, in another application related to a power amplifier system, where the cost function can be selected as Q(θ)=Gain[dB]+OPAE[%]+Pout[dBm]+ACPR[dBc]

Where Gain is the Gain of the amplifier in dB, PAE is the Power Added Efficiency in %, Pout is the Power output of the amplifier in dBm, ACPR is the Adjacent Channel Power in dBc. Then, the updates rule to find the optimal vector x* are based on model-free optimization algorithms, where x is a vector of the amplifier tuning parameters defined as

x=[Gate−bias_(main), Gait−bias_(peak), Power distribution, Phase difference].

Yet in another system example, we can consider HVAC systems, where the goal is to set the indoor room temperature to a desired temperature setpoint T*, and to a desired airflow velocity setpoint V*. To do so, we can select the following cost function for this system

f(x)=(T(x)−T*)²+(V(x)−V*)²,

Where, T(x), V(x), represent the room temperature and air flow velocity, respectively. The optimization variable vector x is defined in this case as

x=(inlet_air_(temperature), inlet_air_(velocity)),

where the inlet_air_(temperature),inlet_air_(velocity), represent the temperature and the velocity of the air flow coining out of the HVAC inlet in the room, which are directly controlled by the HVAC unit's lower level controller signals, such as, condenser fan control, compressor control, expansion valve control, and evaporator fan control.

As we explained earlier in the summary of this invention, we can also extend the results to solve optimization problem with time varying cost functions

ƒ(t,x),t ∈R,x ∈R^(n)

We propose to use the following optimization ODE 420

${\overset{.}{x} = {{- {w\left( {t,{x;x_{0}}} \right)}}\frac{\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack^{r}{\nabla f}{\text{(t,x}\text{)}}}{\nabla{{f\left( {t,x} \right)}^{\top}\left\lbrack {{\nabla^{2}f}{\left. \left( {t,x} \right) \right\rbrack^{r + 1}{\nabla{f\left( {t,x} \right)}}}} \right.}}}},{{{w\left( {t,{x;x_{0}}} \right)}\frac{{{\nabla f}{\left( {0,x_{0}} \right)}^{2{({1 - \alpha})}}}}{2\left( {1 - \alpha} \right)T}{{\nabla{f\left( {t,x} \right)}}}^{2\alpha}} + {{\nabla{f\left( {t,x} \right)}^{\top}}\frac{\partial{\nabla f}}{\partial t}\left( {t,x} \right)}}$

r ∈R, and α∈[0.5,1].

Furthermore, if we cannot compute beforehand the term

${\nabla{f\left( {t,x} \right)}^{\top}}\frac{\partial{\nabla f}}{\partial t}\left( {t,x} \right)$

then, in another embodiment of this invention, we figured out that we could use a more lose information about an upper-bound of this term, as follows: if we can have the upper-bound

${{{\frac{\partial}{\partial t}\left\lbrack {\nabla{f\left( {t,x} \right)}} \right\rbrack}} \leq {l\left( {t,x} \right)}},$

Where l:

+x

^(n)→

, then we propose the following optimization ODE 520

${\overset{.}{x} = {\frac{1}{2}\frac{\left. \left\lbrack {{\nabla^{2}f}{\text{(}\text{t,x}}} \right) \right\rbrack^{r}{\nabla f}{\text{(}\text{t,x}\text{)}}}{{\nabla f}{{\left( {t,x} \right)^{T}\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack}^{r + 1}{\nabla{f\left( {t,x} \right)}}}}\left( {{2{l\left( {t,x} \right)}{{\nabla{f\left( {t,x} \right)}}}} + {c{{\nabla{f\left( {t,x} \right)}}}^{2\alpha}}} \right)}},$

where c>0, r ∈R, and α∈[0.5,1].

Discretization of the Optimization ODEs/ODIs

To be able to implement in a computer, the proposed optimization ODEs and ODIs, we need to discretizing them. There are many discretization methods that can be applied to solve our optimization ODEs and ODIs.

For example, in one embodiment, we propose to use the simple first order Euler discretization, which can be written as 620

x(k+1)=x(k)+h.F(k,x(k)),

Where h>0 is the discretization time-step, and k=0,1,2, . . ., is the discretization index. Here, F can be any of the optimization ODEs/ODIs presented above.

In another embodiment, we propose a higher order discretization method, for example Runge-Kutta.

Any other discretization of ODEs or ODIs can be used in the context of this invention, to solve the optimization ODEs or ODIs.

Extension to constrained optimization

In some cases, the optimization variable x needs to remain within a certain desired bound. In such cases, the optimization problem is said to be a constrained problem, and can be written as follows:

$\begin{matrix} \underset{x \in {\mathbb{R}}^{n}}{minimize} & {f\text{(x)}} & \; \\ {{subject}\mspace{14mu}{to}} & {{{h_{j}(x)} \geq 0},} & {{j = 1},...\mspace{14mu},p} \\ \; & {{{g_{i}(x)} = 0},} & {{i = 1},...\mspace{14mu},e,} \\ {{{With}\mspace{14mu} f},h_{1},{...\mspace{14mu} h_{p}},g_{1},...\mspace{14mu},{g_{e}:\left. {\mathbb{R}}^{n}\rightarrow{{\mathbb{R}}.} \right.}} & \; & \; \end{matrix}$

In this case, we can write this constrained optimization problem as the following unconstrained optimization problem 720

${f_{\mu}(x)}\overset{def}{=}{{f{\text{(}\text{x}\text{)-μ}}{\sum\limits_{j = 1}^{p}\;{\log\mspace{11mu}{h_{j}(x)}}}} + {\frac{1}{2\mu}{\sum\limits_{i = 1}^{i = e}\;{g_{i}^{2}(x)}}}}$

Where μ>0 , is a penalty parameter. We then obtain the optimal vector x⁵²² for the new cost function ƒμ(x) in finite time using one of the proposed ODEs or ODIs, and this optimal vector x^(å) is also an optimal vector for the original constrained optimization problem, for a proper choice of the coefficient μ>0.

Some Numerical Experiments:

We will now test one of our proposed ODEs on the Rosenbrock function ƒ:R²→R, given by

ƒ(x₁,x₂)=(a−x₁)²+b(x₂−x₁ ²)²,tm (6)

with parameters a, b ∈R. This function is nonlinear and non-convex, but smooth. It possesses exactly one stationary point (x₁ ^(å),x₂ ^(å))=(a,a²) for b≥0, which is a strict global minimum for b>0. If b<0, then (x₁ ^(å),x₂ ^(å)) is a saddle point. Finally, if b=0, then {(a,x₂): x₂∈R} are the stationary points of ƒ, and they are all non-strict global minima.

We choose to minimize this cost function in finite time, using the optimization ODE

$\overset{.}{x} = {{- c}{{\nabla{f(x)}}}^{p}\frac{\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack^{r}{\nabla{f(x)}}}{{\nabla{{f(x)}^{T}\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack}^{r + 1}}{\nabla{f(x)}}}}$

With the constants: p=1, r=−1, c=∥∇ƒ(x0)∥, which implies that we want to obtain the optimal vector at t*=1 sec.

The trajectories over time of the solutions of the optimization ODE for different initial conditions 800 show convergence to the same minimum point x^(å)=(a,a²)=(2,4). We see that the trajectories from four different initial conditions reach four different intermediate points at the intermediate times 0.95 sec 801, 0.909 sec 202, but finaly all reach the same optimal point at 1 sec 803. We can also see that from all four initial conditions the norm of the error vector x-x^(å) reaches zero at exactly t*=1 sec, 804, and the same for the norm of the gradient vector or the cost function ƒ(x) 805, and the norm of the error vector between the cost function and the optimal value of the cost ƒ(x)−ƒ(x^(å))806.

We also show the case of a time varying cost function

${f{\text{(t,x}\text{)}}\left( {x - {x^{*}(t)}} \right)^{2}},{{x^{*}(t)}10{\sin\left( \frac{4t}{1 + {0.1t^{2}}} \right)}}$

We solve the optimization ODE

${\overset{.}{x} = {{- {w\left( {t,{x;x_{0}}} \right)}}\frac{\left. {\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack^{r}{\nabla f}{\text{(}\text{t,x}}} \right)}{{\nabla{{f\left( {t,x} \right)}^{\top}\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack}^{r + 1}}{\nabla f}{\text{(t,x}\text{)}}}}},{{{w\left( {t,{x;x_{0}}} \right)}\frac{{{\nabla{f\left( {0,x_{0}} \right)}}}^{2{({1 - \alpha})}}}{2\left( {1 - \alpha} \right)T}{{\nabla{f\left( {t,x} \right)}}}^{2\alpha}} + {{\nabla f}{\left( {t,x} \right)^{\top}\frac{\partial{\nabla f}}{\partial t}\left( {t,x} \right)}}}$

With the coefficients (α,r)=(1/2, −1).

The trajectories of the solution of the optimization ODE 901 for different initial conditions, show that they all converge to the optimal trajectory at the exact desired convergence time T.

Zero order optimization ODE or ODI using Gradient and Hessian estimates

In some cases there is no direct access to a closed form expression of the cost function ƒ(x), in such cases we propose to compute the gradient and the Hessian of the cost function is several ways 123.

In one embodiment, numerical differentiation algorithms 1010 may be stored in the memory 120 to compute the first order derivative of the cost function also known as gradient ∇ƒ(x) by direct numerical differentiation as 1010

${{\nabla{f(x)}} = \frac{{f\left( {x + {delta}_{x}} \right)} - {f(x)}}{{delta}_{-}x}},$

Where delta_x>0 is a differentiation step.

In the same way, we propose the compute the Hessian of the cost function or second order derivative of the cost function using simple numerical differentiation as 1010

${\nabla^{2}{f(x)}} = {\frac{{\nabla{f\left( {x + {delta}_{x}} \right)}} - {\nabla{f(x)}}}{{delta}_{-}x}.}$

Yet another embodiment we propose to compute these derivatives using some filters as 1110

∇ƒ(x)=G_(grad)*ƒ(x),

Where G_(grad) represents the gradient computation filter, and * denotes a convolution operator.

We then propose to compute the Hessian using a Hessian filter as 1110

∇²ƒ(x)=G_(Hessian)*∇ƒ(x),

Where G_(Hessian) represents the Hessian computation filter, and * denotes a convolution operator.

In some embodiments, we propose to use dither signals-based gradient and Hessian filters 1210. For example, we propose to use trigonometric functions, e.g., sine and cosine functions, to design such filters.

Also, the embodiments of the invention may be embodied as a method, of which an example has been provided. The acts performed as part of the method may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.

Use of ordinal terms such as “first,” “second,” in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term) to distinguish the claim elements.

Although the invention has been described by way of examples of preferred embodiments, it is to be understood that various other adaptations and modifications can be made within the spirit and scope of the invention.

Therefore, it is the object of the appended claims to cover all such variations and modifications as come within the true spirit and scope of the invention. 

We claim:
 1. A controller for controlling a system comprising: an interface configured to receive measurement signals from sensor units and output control signals to the system to be controlled; a memory to store computer-executable algorithms including variable measuring algorithm, cost function equations, ordinary differential equation (ODE) and ordinary differential inclusion (ODI) solving algorithms and Optimal variables' values output algorithm; a processor, in connection with the memory, configured to perform steps of receiving measuring variables via the interface to generate a vector of variables; providing a cost function equation, with respect to the system, based on the vector variables using weighting factors, wherein the vector variables are represented by a time-step; computing first-derivative of the cost function at an initial time-step; obtaining a convergence time from the first-derivative of the cost function; computing second derivative of the cost function and generating an optimization differential equation based on the first and second derivatives of the cost function; proceeding, starting with the initial time-step, to obtain a value of the optimization differential equation or differential inclusion by solving the optimization differential equation or the differential inclusion, in an iteration manner, with a predetermined time step being multiplied with the value of the solved differential equation to obtain next vector variables corresponding to a next iteration time-step, until the time-step reaches the convergence time; and outputting optimal values of the vector of variables and the cost function.
 2. The controller of claim 1, wherein the optimization differential equation is solved by a first order Euler steps: x(k+1)=x(k)+h.F(k,x(k)), where h>0 is the discretization time-step, and k=0,1,2, . . ., is the discretization index, here, F is the optimization differential equation or differential inclusion.
 3. The controller of claim 1, wherein the optimization differential equation is solved by the Runge-Kutta discretization steps.
 4. The controller of claim 1, wherein the optimization differential equation is solved by a disctization steps:
 5. The controller of claim 1, wherein the optimization differential equation is ${\overset{.}{x} = {{- c}{{\nabla{f(x)}}}^{p}\frac{\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack^{r}{\nabla{f(x)}}}{{\nabla{{f(x)}^{T}\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack}^{r + 1}}{\nabla{f(x)}}}}},$ where the constant coefficient c,p,r, are such that c>0, p ∈[1,2], and r ∈R, and ƒ represents the cost function, ∇ƒ(x) represents the gradient of the cost function, and ∇²ƒ(x) the Hessian of the cost function.
 6. The controller of claim 1, wherein the optimization differential equation is $\overset{.}{x} = {{- c}{{\nabla{f(x)}}}_{1}^{p - 1}\frac{\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack^{r}{{s{ign}}\left( {\nabla{f(x)}} \right)}}{{sign}\;{\left( {\nabla{f(x)}} \right)^{T}\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack}^{r + 1}{{sign}\left( {\nabla{f(x)}} \right)}}}$ Where the constant coefficient c,p,r, are such that c>0, p ∈[1,2], and r ∈R, and ƒ represents the cost function, ∇ƒ(x) represents the gradient of the cost function, ∇²ƒ(x) the Hessian of the cost function, and sign(.) is the sign function.
 7. The controller of claim 1, wherein the optimization differential equation is ${\overset{.}{x} = {{- {w\left( {t,{x;x_{0}}} \right)}}\frac{\left. {\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack^{r}{\nabla f}{\text{(}\text{t,x}}} \right)}{{\nabla{{f\left( {t,x} \right)}^{\top}\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack}^{r + 1}}{\nabla f}{\text{(t,x}\text{)}}}}},{{{w\left( {t,{x;x_{0}}} \right)}\frac{{{\nabla{f\left( {0,x_{0}} \right)}}}^{2{({1 - \alpha})}}}{2\left( {1 - \alpha} \right)T}{{\nabla{f\left( {t,x} \right)}}}^{2\alpha}} + {{\nabla f}{{\left( {t,x} \right)^{\top}\frac{\partial{\nabla f}}{\partial t}\left( {t,x} \right)}.}}}$
 8. The controller of claim 1, wherein the optimization differential equation is ${\overset{.}{x} = {{- \frac{1}{2}}\frac{\left. \left\lbrack {{\nabla^{2}f}{\text{(}\text{t,x}}} \right) \right\rbrack^{r}{\nabla f}{\text{(t,x}\text{)}}}{{\nabla f}{{\left( {t,x} \right)^{T}\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack}^{r + 1}{\nabla{f\left( {t,x} \right)}}}}\left( {2{l\left( {t,x} \right)}{{{\nabla f}{\text{(}\text{t,x}\text{)+c∇f(}\text{t,x}\text{)}}}}^{2\alpha}} \right)}},$
 9. The controller of claim 1, wherein the gradient and Hessian are computed using numerical differentiation.
 10. The controller of claim 1, wherein the gradient and Hessian are computed using filters.
 11. A computer-implemented method for controlling a system comprising: measuring variables via an interface to generate a vector of variables; providing a cost function, with respect to the system, based on the vector variables using weighting factors, wherein the vector variables are represented by a time-step; computing first-derivative of the cost function at an initial time-step; obtaining a convergence time from the first-derivative of the cost function; computing second derivative of the cost function and generating an optimization differential equation based on the first and second derivatives of the cost function; proceeding, starting with the initial time-step, to obtain a value of the optimization differential equation or differential inclusion by solving the optimization differential equation or the differential inclusion, in an iteration manner, with a predetermined time step being multiplied with the value of the solved differential equation to obtain next vector variables corresponding to a next iteration time-step, until the time-step reaches the convergence time; and outputting optimal values of the vector of variables and the cost function.
 12. The method of claim 11, wherein the optimization differential equation is solved by a first order Euler steps: x(k+1)=x(k)+h.F(k,x(k)), Where h>0 is the discretization time-step, and k=0,1,2, . . ., is the discretization index, here, F is the optimization differential equation or differential inclusion.
 13. The method of claim 11, wherein the optimization differential equation is solved by the Runge-Kutta discretization steps.
 14. The method of claim 11, wherein the optimization differential equation is solved by a disctization steps:
 15. The method of claim 11, wherein the optimization differential equation is ${\overset{.}{x} = {{- c}{{\nabla{f(x)}}}^{p}\frac{\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack^{r}{\nabla{f(x)}}}{{\nabla{{f(x)}^{T}\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack}^{r + 1}}{\nabla{f(x)}}}}},$ Where the constant coefficient c,p,r, are such that c>0, p ∈[1,2], and r ∈R, and ƒ represents the cost function, ∇ƒ(x) represents the gradient of the cost function, and ∇²ƒ(x) the Hessian of the cost function.
 16. The method of claim 11, wherein the optimization differential equation is $\overset{.}{x} = {{- c}{{\nabla{f(x)}}}_{1}^{p - 1}\frac{\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack^{r}{{s{ign}}\left( {\nabla{f(x)}} \right)}}{{{{sign}\left( {\nabla{f(x)}} \right)}^{T}\left\lbrack {\nabla^{2}{f(x)}} \right\rbrack}^{r + 1}{{sign}\left( {\nabla{f(x)}} \right)}}}$ where the constant coefficient c,p,r, are such that c>0, p ∈[1,2], and r ∈R, and ƒ represents the cost function, ∇ƒ(x) represents the gradient of the cost function, ∇²ƒ(x) the Hessian of the cost function, and sign(.) is the sign function.
 17. The method of claim 11, wherein the optimization differential equation is ${\overset{.}{x} = {{- {w\left( {t,{x;x_{0}}} \right)}}\frac{\left. {\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack^{r}{\nabla f}{\text{(}\text{t,x}}} \right)}{{\nabla{{f\left( {t,x} \right)}^{\top}\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack}^{r + 1}}{\nabla f}{\text{(t,x}\text{)}}}}},{{{w\left( {t,{x;x_{0}}} \right)}\frac{{{\nabla{f\left( {0,x_{0}} \right)}}}^{2{({1 - \alpha})}}}{2\left( {1 - \alpha} \right)T}{{\nabla{f\left( {t,x} \right)}}}^{2\alpha}} + {{\nabla f}{\left( {t,x} \right)^{\top}\frac{\partial{\nabla f}}{\partial t}\left( {t,x} \right)}}}$
 18. The method of claim 11, wherein the optimization differential equation is ${\overset{.}{x} = {{- \frac{1}{2}}\frac{\left. \left\lbrack {{\nabla^{2}f}{\text{(}\text{t,x}}} \right) \right\rbrack^{r}{\nabla f}{\text{(t,x}\text{)}}}{{\nabla f}{{\left( {t,x} \right)^{T}\left\lbrack {\nabla^{2}{f\left( {t,x} \right)}} \right\rbrack}^{r + 1}{\nabla{f\left( {t,x} \right)}}}}\left( {2{l\left( {t,x} \right)}{{{\nabla f}{\text{(}\text{t,x}\text{)+c∇f(}\text{t,x}\text{)}}}}^{2\alpha}} \right)}},$
 19. The method of claim 11, wherein the gradient and Hessian are computed using numerical differentiation.
 20. The method of claim 11, wherein the gradient and Hessian are computed using filters. 